home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / libcryptsetup.h < prev    next >
C/C++ Source or Header  |  2009-10-14  |  2KB  |  76 lines

  1. #ifndef _LIBCRYPTSETUP_H
  2. #define _LIBCRYPTSETUP_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6.  
  7. #include <stdint.h>
  8.  
  9.  
  10. #define CRYPT_LOG_NORMAL 0
  11. #define CRYPT_LOG_ERROR  1
  12.  
  13. struct interface_callbacks { 
  14.     int (*yesDialog)(char *msg);
  15.     void (*log)(int class, char *msg);
  16. };
  17.  
  18.  
  19. #define    CRYPT_FLAG_VERIFY            (1 << 0)
  20. #define CRYPT_FLAG_READONLY            (1 << 1)
  21. #define    CRYPT_FLAG_VERIFY_IF_POSSIBLE    (1 << 2)
  22. #define    CRYPT_FLAG_VERIFY_ON_DELKEY    (1 << 3)
  23. #define    CRYPT_FLAG_NON_EXCLUSIVE_ACCESS    (1 << 4)
  24.  
  25. struct crypt_options {
  26.     const char    *name;
  27.     const char    *device;
  28.  
  29.     const char    *cipher;
  30.     const char    *hash;
  31.  
  32.     const char    *passphrase;
  33.     int        passphrase_fd;
  34.     const char    *key_file;
  35.     const char    *new_key_file;    
  36.     int        key_size;
  37.     
  38.     unsigned int    flags;
  39.     int             key_slot;
  40.  
  41.     uint64_t    size;
  42.     uint64_t    offset;
  43.     uint64_t    skip;
  44.     uint64_t        iteration_time;
  45.      uint64_t    timeout;
  46.  
  47.      uint64_t    align_payload;
  48.     int             tries;
  49.  
  50.     struct interface_callbacks *icb;
  51. };
  52.  
  53. int crypt_create_device(struct crypt_options *options);
  54. int crypt_update_device(struct crypt_options *options);
  55. int crypt_resize_device(struct crypt_options *options);
  56. int crypt_query_device(struct crypt_options *options);
  57. int crypt_remove_device(struct crypt_options *options);
  58. int crypt_luksFormat(struct crypt_options *options);
  59. int crypt_luksOpen(struct crypt_options *options);
  60. int crypt_luksKillSlot(struct crypt_options *options);
  61. int crypt_luksRemoveKey(struct crypt_options *options);
  62. int crypt_luksAddKey(struct crypt_options *options);
  63. int crypt_luksUUID(struct crypt_options *options);
  64. int crypt_isLuks(struct crypt_options *options);
  65. int crypt_luksFormat(struct crypt_options *options);
  66. int crypt_luksDump(struct crypt_options *options);
  67.  
  68. void crypt_get_error(char *buf, size_t size);
  69. void crypt_put_options(struct crypt_options *options);
  70. const char *crypt_get_dir(void);
  71.  
  72. #ifdef __cplusplus
  73. }
  74. #endif
  75. #endif /* _LIBCRYPTSETUP_H */
  76.